SCREEN 1,640,205,4,2 WINDOW 1," Bücher Datei - Version 1.0 - © August 1989 by Eumelsoft - It's Public Domain",,0,1 FOR i=0 TO 8:READ r,g,b:PALETTE i,r,g,b:NEXT DATA .5,.37,.23, 0,.1,.6, 0,0,0, 1,1,1, .4,.2,.13, .2,.2,.2, 1,.87,.73, .83,.1,0 DATA .53,.53,.53 GOSUB shareware GOSUB dateivorhanden kastenmalen: CALL schatten (10,160,70,180) CALL schatten (72,160,132,180) CALL schatten (134,160,194,180) CALL schatten (196,160,256,180) CALL schatten (258,160,318,180) CALL schatten (320,160,380,180) CALL schatten (382,160,442,180) CALL schatten (444,160,504,180) CALL schatten (506,160,566,180) CALL schatten (568,160,628,180) symbolemalen: LINE (15,168)-(15,178):LINE -(55,173):LINE -(15,168) LINE (55,168)-(53,178),,bf LINE (77,168)-(77,178):LINE -(112,173):LINE -(77,168) LINE (139,168)-(139,178):LINE -(161,173):LINE -(139,168) LINE (161,168)-(161,178):LINE -(186,173):LINE -(161,168) LINE (196,173)-(221,168):LINE -(221,178):LINE -(196,173) LINE (221,173)-(246,168):LINE -(246,178):LINE -(221,173) LINE (260,173)-(305,168):LINE -(305,178):LINE -(260,173) LINE (320,168)-(335,168):LINE (320,171)-(325,171) LINE (320,173)-(332,173):LINE (320,176)-(326,176) LINE (320,178)-(331,178) LINE (355,168)-(360,168) LINE -(360,171):LINE -(365,171):LINE -(365,174) LINE -(360,174):LINE -(360,177):LINE -(355,177) LINE -(355,174):LINE -(350,174):LINE -(350,171) LINE -(355,171):LINE -(355,168) LINE (385,168)-(433,168):LINE (387,170)-(430,170) LINE (385,172)-(420,172):LINE (385,174)-(412,174) LINE (385,176)-(393,176):LINE (389,178)-(430,178) CALL pixlocate (400,178):PRINT "??" LINE (444,168)-(460,168):LINE (444,172)-(455,172) LINE (444,175)-(454,175) LINE (440,168)-(456,178):LINE (440,176)-(455,168) LINE (475,168)-(490,168):LINE (475,171)-(487,171) LINE (475,173)-(476,173):LINE (477,173)-(489,173) LINE (506,168)-(556,180),,b:LINE (512,168)-(512,180) LINE (550,168)-(550,180):LINE (515,170)-(545,170) LINE (515,172)-(540,172):LINE (517,174)-(545,174) LINE (515,176)-(525,176):PSET (509,170):PSET (553,170) PSET (509,173):PSET (553,173) PSET (509,176):PSET (553,176) LINE (573,168)-(568,168):LINE -(568,178):LINE -(573,178) LINE (568,173)-(573,173):LINE (576,178)-(576,168) LINE -(581,178):LINE -(581,168):LINE (585,168)-(585,178) LINE -(590,175):LINE -(590,171):LINE -(585,168) LINE (599,168)-(594,168):LINE -(594,178):LINE -(599,178) LINE (594,173)-(599,173):LINE (606,168)-(612,168) LINE -(609,174):LINE -(606,168):LINE (607,176)-(610,178),,bf RETURN dateivorhanden: CALL fenster(150,50,490,100,"Datei vorhanden?"+SPACE$(45)) CALL kasten (22,25,60,45,1):CALL kasten (260,25,318,45,1) COLOR 4:LOCATE 2,3 PRINT "Existiert bereits eine Datei?" COLOR 7,1:LOCATE 5,5:PRINT "Ja":LOCATE 5,35:PRINT"Nein" dummi=MOUSE(0) 100 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>22 AND x<60 AND y>25 AND y<45 THEN WINDOW CLOSE 2:GOTO dateiladen IF x>260 AND x<318 AND y>25 AND y<45 THEN WINDOW CLOSE 2:GOTO dateianlegen GOTO 100 dateiladen: CALL fenster(130,50,510,100,"Datei laden"+SPACE$(60)) maske 2,3,"Pfad:",1,25 maske 4,3,"Dateiname:",1,20 LOCATE 2,9:CALL lineedit (lauf$,25,0) LOCATE 4,14:CALL lineedit (dateiname$,20,0) WINDOW CLOSE 2 GOTO dateiladenstart dateianlegen: CALL fenster(130,50,510,100,"Datei anlegen"+SPACE$(60)) maske 2,3,"Pfad:",1,25 maske 4,3,"Dateiname:",1,20 LOCATE 2,9:CALL lineedit (lauf$,25,0) LOCATE 4,14:CALL lineedit (dateiname$,20,0) GOTO einstellung einstellung: CALL fenster(50,30,590,170,"Parameter einstellen"+SPACE$(100)) autor%=25:verlag%=20:titel%=35:bestell%=10:preis%=5:bemerkung%=30:art%=15 maske 3,3,"Autor:",1,autor% maske 5,3,"Titel:",1,titel% maske 7,3,"Verlag:",1,verlag% maske 9,3,"Art:",1,art% maske 12,3,"Best.-Nr.:",1,bestell% maske 14,3,"Preis:",1,preis% maske 16,3,"Bemerkung:",1,bemerkung% CALL kasten (500,10,530,130,1) FOR i%=13 TO 74 STEP 16 CALL kasten (453,i%,480,i%+13,1) CALL kasten (423,i%,450,i%+13,1) NEXT FOR i%=85 TO 130 STEP 16 CALL kasten (453,i%,480,i%+13,1) CALL kasten (423,i%,450,i%+13,1) NEXT COLOR 7,1 FOR i=1 TO 14:READ b$ LOCATE 1+i+1,65:PRINT b$ NEXT DATA A,L,L,E,S," ",K,L,A,R," ",M,A,N FOR i=3 TO 9 STEP 2 LOCATE i,59:PRINT"+":LOCATE i,55:PRINT"-" NEXT FOR i=12 TO 16 STEP 2 LOCATE i,55:PRINT"-":LOCATE i,59:PRINT"+" NEXT dummi=MOUSE(0):MOUSE ON 300 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>500 AND x<530 AND y>10 AND y<130 THEN WINDOW CLOSE 2:GOTO eingabe IF x>453 AND x<480 AND y>13 AND y<26 THEN GOSUB autorplus IF x>423 AND x<450 AND y>13 AND y<26 THEN GOSUB autorminus IF x>453 AND x<480 AND y>29 AND y<42 THEN GOSUB titelplus IF x>423 AND x<450 AND y>29 AND y<42 THEN GOSUB titelminus IF x>453 AND x<480 AND y>45 AND y<53 THEN GOSUB verlagplus IF x>423 AND x<450 AND y>45 AND y<53 THEN GOSUB verlagminus IF x>423 AND x<450 AND y>56 AND y<69 THEN GOSUB artminus IF x>453 AND x<480 AND y>56 AND y<69 THEN GOSUB artplus IF x>423 AND x<450 AND y>85 AND y<98 THEN GOSUB bestellminus IF x>453 AND x<480 AND y>85 AND y<98 THEN GOSUB bestellplus IF x>423 AND x<450 AND y>101 AND y<114 THEN GOSUB preisminus IF x>453 AND x<480 AND y>101 AND y<114 THEN GOSUB preisplus IF x>423 AND x<450 AND y>117 AND y<130 THEN GOSUB bemerkungminus IF x>453 AND x<480 AND y>117 AND y<130 THEN GOSUB bemerkungplus GOTO 300 bemerkungplus: bemerkung%=bemerkung%+1 IF bemerkung%>36 THEN bemerkung%=36 LINE (110,117)-(400,130),0,bf maske 16,3,"Bemerkung:",1,bemerkung% SLEEP:SLEEP RETURN bemerkungminus: bemerkung%=bemerkung%-1 IF bemerkung%<1 THEN bemerkung%=1 LINE (110,117)-(400,130),0,bf maske 16,3,"Bemerkung:",1,bemerkung% SLEEP:SLEEP RETURN preisplus: preis%=preis%+1 IF preis%>10 THEN preis%=10 LINE (65,101)-(400,114),0,bf maske 14,3,"Preis:",1,preis% SLEEP:SLEEP RETURN preisminus: preis%=preis%-1 IF preis%<1 THEN preis%=1 LINE (65,101)-(400,114),0,bf maske 14,3,"Preis:",1,preis% SLEEP:SLEEP RETURN bestellminus: bestell%=bestell%-1 IF bestell%<1 THEN bestell%=1 LINE (100,85)-(400,96),0,bf maske 12,3,"Best.-Nr.:",1,bestell% SLEEP:SLEEP RETURN bestellplus: bestell%=bestell%+1 IF bestell%>30 THEN bestell%=30 LINE (100,85)-(400,96),0,bf maske 12,3,"Best.-Nr.:",1,bestell% SLEEP:SLEEP RETURN autorplus: autor%=autor%+1 IF autor%>39 THEN autor%=39 LINE (65,15)-(400,30),0,bf maske 3,3,"Autor:",1,autor% SLEEP:SLEEP RETURN autorminus: autor%=autor%-1 IF autor%<1 THEN autor%=1 LINE (65,15)-(400,30),0,bf maske 3,3,"Autor:",1,autor% SLEEP:SLEEP RETURN titelplus: titel%=titel%+1 IF titel%>39 THEN titel%=39 LINE (65,28)-(400,43),0,bf maske 5,3,"Titel:",1,titel% SLEEP:SLEEP RETURN titelminus: titel%=titel%-1 IF titel%<1 THEN titel%=1 LINE (65,28)-(400,43),0,bf maske 5,3,"Titel:",1,titel% SLEEP:SLEEP RETURN verlagminus: verlag%=verlag%-1 IF verlag%<1 THEN verlag%=1 LINE (70,47)-(400,55),0,bf maske 7,3,"Verlag:",1,verlag% SLEEP:SLEEP RETURN verlagplus: verlag%=verlag%+1 IF verlag%>38 THEN verlag%=38 LINE (70,47)-(400,55),0,bf maske 7,3,"Verlag:",1,verlag% SLEEP:SLEEP RETURN artminus: art%=art%-1 IF art%<1 THEN art%=1 LINE (60,60)-(400,73),0,bf maske 9,3,"Art:",1,art% SLEEP:SLEEP RETURN artplus: art%=art%+1 IF art%>38 THEN art%=38 LINE (60,60)-(400,73),0,bf maske 9,3,"Art:",1,art% SLEEP:SLEEP RETURN eingabe: anfang%=1:ende%=1 datei$=lauf$+dateiname$ OPEN "R",#1,datei$,280 FIELD #1,40 AS aut$,40 AS tit$,40 AS ver$,40 AS ar$,40 AS bes$,40 AS pre$,40 AS bem$ eingabestart: COLOR 7,0:LOCATE 5,3:PRINT "Nummer: ";ende% maske 7,3,"Autor:",1,autor% maske 9,3,"Titel:",1,titel% maske 11,3,"Verlag:",1,verlag% maske 13,3,"Art:",1,art% maske 15,3,"Best.-Nr.:",1,bestell% maske 17,3,"Preis:",1,preis% maske 19,3,"Bemerkung:",1,bemerkung% LOCATE 7,10:CALL lineedit (autor$,autor%,0) IF autor$="" THEN eingabeverlassen LOCATE 9,10:CALL lineedit (titel$,titel%,0) LOCATE 11,11:CALL lineedit (verlag$,verlag%,0) LOCATE 13,8:CALL lineedit (art$,art%,0) LOCATE 15,14:CALL lineedit (bestell$,bestell%,0) LOCATE 17,10:CALL lineedit (preis$,preis%,0) LOCATE 19,14:CALL lineedit (bemerkung$,bemerkung%,0) LSET aut$=autor$ LSET tit$=titel$ LSET ver$=verlag$ LSET ar$=art$ LSET bes$=bestell$ LSET pre$=preis$ LSET bem$=bemerkung$ PUT #1,ende% ende%=ende%+1 autor$="":titel$="":verlag$="":art$="":bestell$="" preis$="":bemerkung$="" GOTO eingabestart eingabeverlassen: ende%=ende%-1 CLOSE #1 daten$=datei$+".sqr" OPEN daten$ FOR OUTPUT AS#2 WRITE #2,ende%,autor%,titel%,art%,bestell%,preis%,bemerkung%,verlag% CLOSE #2 dateiladenstart: COLOR 1,0:CLS anfang%=1 datei$=lauf$+dateiname$ OPEN "R",#1,datei$,280 FIELD #1,40 AS aut$,40 AS tit$,40 AS ver$,40 AS ar$,40 AS bes$,40 AS pre$,40 AS bem$ daten$=datei$+".sqr" OPEN "I",#2,daten$ WHILE NOT EOF (2) INPUT #2,ende%,autor%,titel%,art%,bestell%,preis%,bemerkung%,verlag% WEND CLOSE #2 GOSUB kastenmalen dateizeigen: GET #1,anfang% COLOR 7,0:LOCATE 2,3:PRINT "Nummer: ";anfang% COLOR 1,0:LOCATE 5,3:PRINT"Autor: " LOCATE 7,3:PRINT "Titel: " LOCATE 9,3:PRINT "Verlag: ":LOCATE 11,3:PRINT "Art: " LOCATE 13,3:PRINT "Best.-Nr.:":LOCATE 15,3:PRINT"Preis: " LOCATE 17,3:PRINT "Bemerkung: " COLOR 6,0 LOCATE 5,14:PRINT aut$ LOCATE 7,14:PRINT tit$ LOCATE 9,14:PRINT ver$ LOCATE 11,14:PRINT ar$ LOCATE 13,14:PRINT bes$ LOCATE 15,14:PRINT pre$ LOCATE 17,14:PRINT bem$ dummi=MOUSE(0):MOUSE ON 400 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>315 AND x<375 AND y>168 AND y<178 THEN ende%=ende%+1:anfang%=ende%:GOTO dateiaendernstart IF x>439 AND x<499 AND y>168 AND y<178 THEN dateiaendernstart IF x>191 AND x<251 AND y>168 AND y<178 THEN minusfuenf IF x>253 AND x<313 AND y>168 AND y<178 THEN minusein IF x>67 AND x<127 AND y>168 AND y<178 THEN plusein IF x>129 AND x<189 AND y>168 AND y<178 THEN plusfuenf IF x>5 AND x<65 AND y>168 AND y<178 THEN anfang IF x>377 AND x<435 AND y>168 AND y<178 THEN dateisuchen IF x>501 AND x<561 AND y>168 AND y<178 THEN dateidrucken IF x>563 AND x<623 AND y>168 AND y<178 THEN ende GOTO 400 anfang: IF anfang%<=1 THEN anfang%=ende% IF anfang%>1 THEN anfang%=1 GOTO dateizeigen plusein: anfang%=anfang%+1 IF anfang%>ende% THEN GOSUB message:anfang%=ende% GOTO dateizeigen minusein: anfang%=anfang%-1 IF anfang%<=0 THEN GOSUB message2:anfang%=1 GOTO dateizeigen plusfuenf: anfang%=anfang%+5 IF anfang%>ende% THEN GOSUB message:anfang%=ende% GOTO dateizeigen minusfuenf: anfang%=anfang%-5 IF anfang%<=0 THEN GOSUB message2:anfang%=1 GOTO dateizeigen message: CALL fenster (400,90,600,120,"Systemmitteilung"+SPACE$(50)) COLOR 8:LOCATE 2,3:PRINT "Dateiende erreicht !" BEEP:SLEEP:SLEEP SLEEP:SLEEP:WINDOW CLOSE 2:RETURN message2: CALL fenster (400,90,600,120,"Systemmitteilung"+SPACE$(50)) COLOR 8:LOCATE 2,3:PRINT "Dateianfang erreicht !" BEEP:SLEEP:SLEEP SLEEP:SLEEP:WINDOW CLOSE 2:RETURN dateiaendernstart: autor$="":titel$="":verlag$="" art$="":bestell$="":preis$="" bemerkung$="" LINE (5,5)-(640,160),0,bf COLOR 7,0:LOCATE 2,3:PRINT "Nummer: ";anfang% maske 5,3,"Autor:",1,autor% maske 7,3,"Titel:",1,titel% maske 9,3,"Verlag:",1,verlag% maske 11,3,"Art:",1,art% maske 13,3,"Best.-Nr.:",1,bestell% maske 15,3,"Preis:",1,preis% maske 17,3,"Bemerkung:",1,bemerkung% LOCATE 5,10:CALL lineedit (autor$,autor%,0) IF autor$="" THEN eingabeverlassen LOCATE 7,10:CALL lineedit (titel$,titel%,0) LOCATE 9,11:CALL lineedit (verlag$,verlag%,0) LOCATE 11,8:CALL lineedit (art$,art%,0) LOCATE 13,14:CALL lineedit (bestell$,bestell%,0) LOCATE 15,10:CALL lineedit (preis$,preis%,0) LOCATE 17,14:CALL lineedit (bemerkung$,bemerkung%,0) LSET aut$=autor$ LSET tit$=titel$ LSET ver$=verlag$ LSET ar$=art$ LSET bes$=bestell$ LSET pre$=preis$ LSET bem$=bemerkung$ PUT #1,anfang% LINE (5,5)-(630,160),0,bf daten$=datei$+".sqr" OPEN daten$ FOR OUTPUT AS#2 WRITE #2,ende%,autor%,titel%,art%,bestell%,preis%,bemerkung%,verlag% CLOSE #2 GOTO dateizeigen dateidrucken: CALL fenster(100,30,530,140,"Daten drucken"+SPACE$(50)) CALL kasten (235,80,315,104,1) CALL kasten (340,80,420,104,1) schriftart=1:druckanfang%=1:druckende%=ende%:druck=1 COLOR 5,0:POKE WINDOW (8)+56,3 LOCATE 2,3:PRINT "Menge:" COLOR 1,0:POKE WINDOW (8)+56,0 LOCATE 4,3:PRINT "Alles:" maske 4,20,"von:",1,4 maske 4,30,"bis:",1,4 : COLOR 1,0 COLOR 5,0:POKE WINDOW (8)+56,3 LOCATE 6,3:PRINT "Ausgabe:" COLOR 1,0:POKE WINDOW (8)+56,0 LOCATE 8,3:PRINT "Einzel:":LOCATE 8,20:PRINT"Liste:":LOCATE 8,40:PRINT"Kartei:" COLOR 5,0:POKE WINDOW (8)+56,3 LOCATE 10,3:PRINT "Qualität" COLOR 1,0:POKE WINDOW (8)+56,0 LOCATE 12,3:PRINT "Draft:":LOCATE 12,20:PRINT "Nlq:" COLOR 7,1:LOCATE 12,32:PRINT "Drucken" LOCATE 12,45:PRINT "Abbruch":COLOR 1,0 LINE (70,23)-(90,33),4,b LINE (75,54)-(95,64),4,b LINE (205,54)-(225,64),4,b:LINE (370,54)-(390,64),4,b LINE (70,87)-(90,97),4,b:LINE (188,87)-(208,97),4,b LINE (72,25)-(88,31),3,bf:LINE (77,56)-(93,62),3,bf LINE (72,89)-(88,95),3,bf dummi=MOUSE(0) 999 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>193 AND x<223 AND y>23 AND y<33 THEN GOSUB auswahllaenge IF x>70 AND x<90 AND y>23 AND y<33 THEN GOSUB alles IF x>75 AND x<95 AND y>54 AND y<64 THEN GOSUB einzel IF x>205 AND x<225 AND y>54 AND y<64 THEN GOSUB liste IF x>370 AND x<390 AND y>54 AND y<64 THEN GOSUB kartei IF x>70 AND x<90 AND y>87 AND y<97 THEN GOSUB draft IF x>188 AND x<208 AND y>87 AND y<97 THEN GOSUB nlq IF x>235 AND x<315 AND y>80 AND y<104 THEN drucken IF x>340 AND x<420 AND y>80 AND y<104 THEN WINDOW CLOSE 2:GOTO dateizeigen GOTO 999 auswahllaenge: druckanfang%=0:druckende%=0 LINE (72,25)-(88,31),0,bf COLOR 3,4 LOCATE 4,25:INPUT "",druckanfang% LOCATE 4,35:INPUT "",druckende% COLOR 1,0 IF druckanfang%<1 OR druckanfang%>ende% OR druckanfang%>druckende% THEN auswahllaenge IF druckende%ende% OR druckende%22 AND x<60 AND y>25 AND y<45 THEN SYSTEM IF x>260 AND x<318 AND y>25 AND y<45 THEN WINDOW CLOSE 2:GOTO dateiweiter GOTO 105 dateiweiter: CALL fenster(150,50,490,100,"Neue Datei laden ?"+SPACE$(45)) CALL kasten (22,25,60,45,1):CALL kasten (260,25,318,45,1) COLOR 4:LOCATE 2,3 PRINT "Soll eine neue Datei geladen werden ?" COLOR 7,1:LOCATE 5,5:PRINT "Ja":LOCATE 5,35:PRINT"Nein" SLEEP:SLEEP dummi=MOUSE(0) 1000 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>22 AND x<60 AND y>25 AND y<45 THEN WINDOW CLOSE 2:GOTO weiter IF x>260 AND x<318 AND y>25 AND y<45 THEN WINDOW CLOSE 2:GOTO dateizeigen GOTO 1000 weiter: CLOSE #1:CLOSE #2:CLOSE #3:CLOSE #4 GOTO dateiladen dateisuchen: CALL fenster (125,20,515,150,"Datei Suchen "+SPACE$(50)) CALL kasten (320,105,380,125,1) CALL kasten (225,105,300,125,1) COLOR 7,1 LOCATE 15,30:PRINT "Abbruch" LOCATE 15,42:PRINT "Weiter" COLOR 4,0:LOCATE 2,3 PRINT "Wonach soll denn gesucht werden ?":COLOR 6 LOCATE 4,3:PRINT "Autor :" LOCATE 6,3:PRINT "Titel :" LOCATE 8,3:PRINT "Verlag:" LOCATE 10,3:PRINT "Art :" LOCATE 12,3:PRINT "Best.-Nr.:" LINE (120,22)-(140,32),1,b:LINE (120,37)-(140,47),1,b LINE (120,52)-(140,62),1,b:LINE (120,67)-(140,77),1,b LINE (120,82)-(140,92),1,b:LINE (122,24)-(138,30),3,bf zahl=1 dummi=MOUSE(0):MOUSE ON 1200 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>320 AND x<380 AND y>105 AND y<125 THEN dateisuchenstart IF x>225 AND x<300 AND y>105 AND y<125 THEN WINDOW CLOSE 2:GOTO dateizeigen IF x>120 AND x<140 AND y>22 AND y<32 THEN GOSUB autoranzeige IF x>120 AND x<140 AND y>37 AND y<47 THEN GOSUB titelanzeige IF x>120 AND x<140 AND y>52 AND y<62 THEN GOSUB verlaganzeige IF x>120 AND x<140 AND y>67 AND y<77 THEN GOSUB artanzeige IF x>120 AND x<140 AND y>82 AND y<92 THEN GOSUB nranzeige GOTO 1200 autoranzeige: LINE (122,24)-(138,30),3,bf zahl=1 LINE (122,39)-(138,45),0,bf LINE (122,54)-(138,60),0,bf LINE (122,69)-(138,75),0,bf LINE (122,84)-(138,90),0,bf RETURN titelanzeige: LINE (122,24)-(138,30),0,bf zahl=2 LINE (122,39)-(138,45),3,bf LINE (122,54)-(138,60),0,bf LINE (122,69)-(138,75),0,bf LINE (122,84)-(138,90),0,bf RETURN verlaganzeige: LINE (122,24)-(138,30),0,bf zahl=3 LINE (122,39)-(138,45),0,bf LINE (122,54)-(138,60),3,bf LINE (122,69)-(138,75),0,bf LINE (122,84)-(138,90),0,bf RETURN artanzeige: LINE (122,24)-(138,30),0,bf zahl=4 LINE (122,39)-(138,45),0,bf LINE (122,54)-(138,60),0,bf LINE (122,69)-(138,75),3,bf LINE (122,84)-(138,90),0,bf RETURN nranzeige: LINE (122,24)-(138,30),0,bf zahl=5 LINE (122,39)-(138,45),0,bf LINE (122,54)-(138,60),0,bf LINE (122,69)-(138,75),0,bf LINE (122,84)-(138,90),3,bf RETURN dateisuchenstart: ON zahl GOTO autorsuchen,titelsuchen,verlagsuchen,artsuchen,nummersuchen autorsuchen: WINDOW CLOSE 2 autor$="" CALL fenster(130,50,510,100,"Autor suchen"+SPACE$(60)) LOCATE 2,3:PRINT "Geben Sie den Namen des Autors ein:" maske 4,3,"Name:",1,35 LOCATE 4,9:CALL lineedit (autor$,autor%,0) sp%=LEN(autor$) sk%=40-sp% autor$=autor$+SPACE$(sk%) FOR i%=anfang% TO ende% GET #1,i% IF aut$=autor$ THEN anfang%=i%:WINDOW CLOSE 2:GOTO dateizeigen NEXT LOCATE 4,9 PRINT "Nichts gefunden!" CALL wartemaus WINDOW CLOSE 2:GOTO dateizeigen titelsuchen: WINDOW CLOSE 2 CALL fenster(130,50,510,100,"Titel suchen"+SPACE$(60)) titel$="" LOCATE 2,3:PRINT "Geben Sie den Titel des Buches ein:" maske 4,3,"Titel:",1,35 LOCATE 4,10:CALL lineedit (titel$,titel%,0) sp%=LEN(titel$) sk%=40-sp% titel$=titel$+SPACE$(sk%) FOR i%=anfang% TO ende% GET #1,i% IF tit$=titel$ THEN anfang%=i%:WINDOW CLOSE 2:GOTO dateizeigen NEXT LOCATE 4,10 PRINT "Nichts gefunden!" CALL wartemaus WINDOW CLOSE 2:GOTO dateizeigen verlagsuchen: WINDOW CLOSE 2 CALL fenster(130,50,510,100,"Verlag suchen"+SPACE$(60)) verlag$="" LOCATE 2,3:PRINT "Geben Sie den Verlag des Buches ein:" maske 4,3,"Verlag:",1,35 LOCATE 4,11:CALL lineedit (verlag$,verlag%,0) sp%=LEN(verlag$) sk%=40-sp% verlag$=verlag$+SPACE$(sk%) FOR i%=anfang% TO ende% GET #1,i% IF ver$=verlag$ THEN anfang%=i%:WINDOW CLOSE 2:GOTO dateizeigen NEXT LOCATE 4,11 PRINT "Nichts gefunden!" CALL wartemaus WINDOW CLOSE 2:GOTO dateizeigen artsuchen: WINDOW CLOSE 2 CALL fenster(130,50,510,100,"Buchart suchen"+SPACE$(60)) art$="" LOCATE 2,3:PRINT "Geben Sie die Art des Buches ein:" maske 4,3,"Art:",1,35 LOCATE 4,8:CALL lineedit (art$,art%,0) sp%=LEN(art$) sk%=40-sp% art$=art$+SPACE$(sk%) FOR i%=anfang% TO ende% GET #1,i% IF ar$=art$ THEN anfang%=i%:WINDOW CLOSE 2:GOTO dateizeigen NEXT LOCATE 4,8 PRINT "Nichts gefunden!" CALL wartemaus WINDOW CLOSE 2:GOTO dateizeigen nummersuchen: WINDOW CLOSE 2 CALL fenster(130,50,510,100,"Bestellnummer suchen"+SPACE$(60)) bestell$="" LOCATE 2,3:PRINT "Geben Sie die Bestellnummer des Buches ein:" maske 4,3,"Best.-Nr.:",1,30 LOCATE 4,13:CALL lineedit (bestell$,bestell%,0) sp%=LEN(bestell$) sk%=40-sp% bestell$=bestell$+SPACE$(sk%) FOR i%=anfang% TO ende% GET #1,i% IF bes$=bestell$ THEN anfang%=i%:WINDOW CLOSE 2:GOTO dateizeigen NEXT LOCATE 4,13 PRINT "Nichts gefunden!" CALL wartemaus WINDOW CLOSE 2:GOTO dateizeigen shareware: CALL fenster (80,20,560,150,"Autorenmittelung"+SPACE$(45)) CALL kasten (385,105,445,125,1) COLOR 4:LOCATE 2,3 PRINT "Das Programm ist dazu da, um Ihre Unmengen von Büchern " PRINT TAB(3)"zu Katalogisieren. Diese können Sie dann sortiern, laden," PRINT TAB(3)"speichern usw.":PRINT:COLOR 6 PRINT TAB(3)"Wenn Sie dieses Programm öfter benutzen, so senden Sie" PRINT TAB(3)"bitte 10 - 15 DM an untenstehende Adresse." PRINT TAB(3)"Die Version 2.0 ist in Arbeit, Sie können" PRINT TAB(3)"diese dann über einen Public Domain Versand" PRINT TAB(3)"beziehen. Das Programm stammt von:":PRINT:COLOR 5 PRINT TAB(7)"Martin Jochimczyk" PRINT TAB(7)"Am Sande 12" PRINT TAB(7)"2723 Scheeßel":COLOR 7,1 PRINT TAB(50)"Weiter" dummi=MOUSE(0):MOUSE ON 200 WHILE MOUSE(0)=0:WEND x=MOUSE(3):y=MOUSE(4) IF x>385 AND x<445 AND y>105 AND y<125 THEN WINDOW CLOSE 2:RETURN GOTO 200 '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= SUB lineedit (text$,MaxNumChar%,DeleteIt%) STATIC LineNum% = CSRLIN : FirstColumn% = POS(x) text$ = LEFT$(text$,MaxNumChar%) + " " 'SPACE for insert PRINT text$; column%=FirstColumn% GOSUB ShowCursor done% = 0 WHILE NOT done% k$ = INKEY$ IF k$=CHR$(30) THEN 'right arrow IF column%FirstColumn% THEN GOSUB NoCursor column% = column% - 1 GOSUB ShowCursor END IF ELSEIF k$=CHR$(28) THEN 'up arrow GOSUB NoCursor column% = FirstColumn% GOSUB ShowCursor ELSEIF k$=CHR$(29) THEN 'down arrow GOSUB NoCursor column% = FirstColumn% + LEN(text$) - 1 GOSUB ShowCursor ELSEIF k$=CHR$(8) THEN 'backspace IF column%>FirstColumn% THEN RightPart$ = RIGHT$(text$,LEN(text$)-(column%-FirstColumn%)) column% = column% - 1 text$ = LEFT$(text$,column%-FirstColumn%)+RightPart$ LOCATE LineNum%,column% PRINT RightPart$ + " "; GOSUB ShowCursor END IF ELSEIF k$=CHR$(127) THEN 'delete IF column%"" AND LEN(text$)<=MaxNumChar% THEN 'insert character GOSUB NoCursor RightPart$ = k$ + RIGHT$(text$,LEN(text$)-(column%-FirstColumn%)) text$ = LEFT$(text$,column%-FirstColumn%) + RightPart$ LOCATE LineNum%,column% PRINT RightPart$; column% = column% + 1 GOSUB ShowCursor END IF WEND EXIT SUB ShowCursor: COLOR 0,3 LOCATE LineNum%,column% PRINT MID$(text$,column%-(FirstColumn%-1),1); COLOR 8,4 RETURN NoCursor: LOCATE LineNum%,column% PRINT MID$(text$,column%-(FirstColumn%-1),1); RETURN END SUB SUB kasten (x1%,y1%,x2%,y2%,farbe%) STATIC LINE (x1%,y1%)-(x2%,y2%),farbe%,b LINE (x1%+2,y1%+2)-(x2%-2,y2%-2),farbe%,bf END SUB SUB fenster (x1%,y1%,x2%,y2%,text$) STATIC WINDOW 2,text$,(x1%,y1%)-(x2%,y2%),18,1 LINE (0,0)-(x2%-x1%,y2%-y1%),1,b END SUB SUB maske (y%,x%,a$,abst%,lae%) STATIC LOCATE y%,x%:COLOR 1,0 PRINT a$;SPACE$(abst%);:COLOR 0,4:PRINT SPACE$(lae%) END SUB SUB schatten (x1%,y1%,x2%,y2%) STATIC LINE (x1%,y1%)-(x2%,y2%),2,bf LINE (x1%-5,y1%+3)-(x2%-5,y2%+3),0,bf LINE (x1%-5,y1%+3)-(x2%-5,y2%+3),4,b END SUB SUB pixlocate (x%,y%) STATIC xadr&=WINDOW (8)+36:yadr&=WINDOW (8)+38 POKEW xadr&,x%:POKEW yadr&,y% END SUB SUB wartemaus STATIC SLEEP:SLEEP:SLEEP:SLEEP END SUB